const p = new Promise((resolve,reject) => {
    setTimeout(() => {
        // reject('Error');
        resolve('success');
    },1000);
});

//异常穿透 在链式调用的末尾加上catch捕捉方法 在整个过程中的错误都在reason中处理
p.then(value => {
    console.log(111);
    //中断promise链的唯一方法就是返回一个pending状态的promise对象
    return new Promise(() => {})
}).then(value => {
    console.log(222);
}).then(value => {
    console.log(333);
}).catch(reason => {
    console.log(reason);
})